Computers and information technology are quite complex. From the software and middleware to the hardware and physical connections for communicating between machines, the technologies such as hardware, protocols, languages, software packages, and software standards involved is large and changes rapidly. Accordingly, companies, governments, associations and other organizations rely on proficient programmers, network administrators, database administrators, and other IT (Information Technology) professionals to keep their computer systems functioning properly and efficiently.
To become and remain employable, these IT professionals must be able to keep up and prove they can provide the services the employer seeks, often before being offered an IT employment position. To provide the credentials demanded by employers, the IT industry uses certification exams, particularly in the software industry. This effort is often led by vendors of the different technologies. The certification asserts that the vendor considers the certificate holder competent to use and maintain the IT technology being certified. Novell®, Microsoft®, Cisco® and others offer certification exams such as CNE (Certified NetWare Engineer), MCP (Microsoft Certified Professional), MCSE (Microsoft Certified Systems Engineer), CCNA (Cisco Certified Network Associate) and the like.
However, conventional certification exams that use multiple choice and fill-in-the-blank questions are limited in their ability to measure behavioral skills of an examinee. In certain technologies, such as network devices the best measure of an examinee's aptitude is by measuring the examinee's interaction with a real network device. In a training course or certification exam, interaction with real network devices of a real network may be impractical, expensive, or both.
The certification exams of today test an examinee's competence by using a simulation of the particular technology. The examinee uses the simulation to perform a specific task. If the required task is performed correctly in the simulation, an employer is more confident the user can perform the task in an actual computer system. Simulations may also be used to prepare a student to sit for a certification exam which uses simulations. Training with simulations provides the additional benefit that the user gains realistic experience and retains the skills and knowledge learned through use of the simulation.
Unfortunately conventional simulations are not convincingly realistic. They generally include a multi-media presentation of images and user interface controls which allow very limited interaction between the user and the simulation. These simulations may provide an interface which allows an examinee to navigate through a simulated software product to the proper location to resolve a problem described in an exam question. However, these simulations only provide user interface functionality for the menus, windows, and controls necessary to navigate to a proper software window to answer the question. Because the other menus, controls, and windows do not function, an examinee may be able to find the proper window quickly by simply using trial and error, at which point answering the question or performing a task may be trivial. Such simulations are often referred to as “closed” or “dumb” simulations because of the limited functionality and navigation paths.
In contrast, an “open” or “intelligent” simulation is one which realistically simulates a computer environment within which a simulation scenario takes place. The open simulation includes logic, rules, and processing capability which allows changes made by a user in the simulation to have a corresponding effect in the simulation. In addition, the open simulation matches the behavior of the actual components of the computer environment so that a user may take multiple navigation paths to complete a task. Providing multiple navigation paths and ways of performing a task allows a user to truly “trouble shoot” a problem as will be expected in an actual computer environment. The user is free to investigate the simulated computer environment to solve a problem in a manner similar to real life.
Furthermore, conventional simulations generally do not provide functionality for recording an examinee's responses and/or interactions with the simulation. These conventional simulations are designed for presenting information, not monitoring an examinee's responses. Determining whether the examinee correctly resolved a problem presented is often rudimentary or non-existent in conventional simulations. Conventional simulators which provide limited openness simulations have other limitations as well. Generally, the data defining a simulation and/or computer environment is tightly integrated with the executable code of the simulators. Therefore, development and revisions to simulations is very expensive because this must be done by programmers instead of more cost effective test item writers. The programmers modify the actual executable code to produce different simulations.
In addition, developing truly “open” simulators which simulate each feature, function, and aspect of an actual system is very time consuming, expensive, and complex. To shorten the development cycle and hold down costs, only certain features and functions of the actual system are simulated. Consequently, conventional simulations which are available provide only limited “openness.”
These problems are more pronounced in relation to computer network technologies, specifically, network devices. The main components of a computer network are the computer workstations connected to the network, and the switches and routers. The routers and switches enable network communication between computer workstations on a single network and between computers on different interconnected networks.
The routers of conventional computer networks include logic for determining how best to forward data packets from one network to another. The routers communicate with each other to ensure that data packets are forwarded most efficiently. The routers are also configurable to optimize performance. Generally, the routers include an operating system and interface which allows the router to be monitored and configured. Often the operating system and interface are proprietary. For example, Cisco Systems, Inc. of San Jose, Calif. has their own operating system and a command-line interface for their routers and switches. Routers and switches from one manufacturer are able to communicate with routers and switches from other manufacturers because the routers and switches use common networking protocols.
Unfortunately, conventional simulations for network devices, such as routers and switches from Cisco, and the network environment as a whole, suffer from similar problems as conventional simulations of computer technology. Specifically, the simulations are closed, guided, use hard-coded network configurations, and simulate limited functionality and logic for the network devices.
Accordingly, what is needed is a system and method that overcomes the problems and disadvantages of the prior art. The system and method should simulate a computer network and the network devices within the network. The system and method should simulate interactions between two or more network devices, specifically, the system and method should simulate routing tables for each simulated router. The system and method should allow authors of simulations to quickly and easily draft and revise simulations which are presented in a simulated computer network with simulated network devices. The system and method should allow actual network device configuration information to be used to configure the simulated network devices. The system and method should record user interactions with the simulated network devices to evaluate user proficiency in using and maintaining a simulated computer network.